-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make $XDG_CONFIG_HOME/vit
the new default vit
config location
#341
base: 2.x
Are you sure you want to change the base?
Conversation
$XDG_CONFIG_HOME
the new default vit config location
$XDG_CONFIG_HOME
the new default vit config location$XDG_CONFIG_HOME/vit
the new default vit
config location
I've never been a big fan of the XDG spec, but was willing to add support for XDG for those that wanted it. I don't see a compelling reason to make the XDG location the default other than as a statement of support for the spec. I'll need a more compelling reason than a statement of support to consider this change. |
I don't really understand this perspective. Is it a concern related to burden on you as an OSS maintainer? From a user's / developer's perspective, the XDG Base Dirs Spec solves a few problems relating to cleanly organizing program data, configs, and caches, while not creating any other problems, or real added complexity. If you, for some reason, do want all of your program config files and data to live in your $HOME (or other non-standard) directory, you can do that with the I actively don't want a Here's a longer piece (not written by me) about why I value this spec: https://maex.me/2019/12/the-power-of-the-xdg-base-directory-specification/ This changeset would provide default support for people who like a clean home directory and want to use XDG. It maintains backwards compatibility for those who have set up |
This describes the central issue with XDG as a philosophy IMO -- it starts with "it doesn't feel good to see a lot of files in
I definitely understand that people can have difference experiences and want things organized in a specific way, which is why XDG support was added to VIT -- to allow those who prefer that organizational system an easy way to achieve it. But to me, saying XDG is better than the classic method is similar to saying Emacs is better than Vim -- there is no 'better', it's personal preference. Now, show me a fact-based argument (e.g. these three surveys show that 85% of people prefer the XDG organization philosophy, or, this study shows that when people switch to using XDG it reduces their frustration and improves productivity by X%), and I can probably be moved. But "I don't know many people that actively desire this crowded $HOME behavior" is anecdotal. Finally, I think changing default behavior without a really compelling reason generally creates a bad user experience. Right now the people that use XDG know they need to take one extra step, and everybody else like me finds the config where they expect it. |
Just as a point of reference, I make absolutely no effort to control where programs put stuff in [:~] $ ls -1 .config/ | wc -l
130
[:~] $ ls -1 -d .* | wc -l
134 So it hardly seems like XDG is a clear winner in the spec wars ;) |
Just to clarify, this would not change the behavior for any current user. This only impacts people who don't have an existing config (so, people downloading it for the first time on a machine). If they do have an existing config in
The more important aspect is that it makes me less organized, and less effective on my machine. XDG Base Dir spec is an organizational structure, just like the standard directories of the linux filesystem are an organizational structure. If you're looking for bootloader files, you go to
Unlikely to happen, lol For another point of reference: I make an effort to keep
Anyways, thanks for loosely supporting the XDG spec. |
Yep, I understand this reasoning, which is why support for XDG is in VIT.
With the exception of a previous user of VIT installing it on a new machine (you can sync Taskwarrior after all), and then not being able to find their config where they expect it. But I do see your point that many use cases for existing users would remain undisturbed in many circumstances.
Bit of a bummer that you can't get that number lower in |
If everyone was using the XDG spec, porting all of your configs to a new machine should be as easy as copying over
This all lives here (on my machine):
So if I move over to a new machine, I'd have to find / copy my taskwarrior data anyways. Going to a different place to find my vit config seems frustrating.
Here's an excerpt from my Yeah, for the most part. Some are necessary (like
1Password, for example, creates an empty directory in
See this wiki section for a more complete answer about support / lack of support: https://wiki.archlinux.org/title/XDG_Base_Directory#Support |
Except I don't just take all my config wholesale anyways when I switch to a new machine. If I never touched a program's config, I don't want to take it, which means I'm selective about which configs I port, which makes location a LOT less important.
Yes, I experience this when I expect my Neovim config to be at |
Users will now be prompted to ask if it's ok to create a config dir at
$XDG_CONFIG_HOME/vit
instead of at~/.vit
. No backwards-compatibility will be broken, as~/.vit
is still supported.